package com.qzsoft.zhjd.materiel.modules.materielsupplier.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qzsoft.zhjd.common.enums.YesOrNo;
import com.qzsoft.zhjd.materiel.modules.materielsupplier.dto.MaterielSupplierImportDto;
import com.qzsoft.zhjd.materiel.modules.materielsupplier.dto.MaterielSupplierListDto;
import com.qzsoft.zhjd.materiel.modules.materielsupplier.entity.MaterielSupplierEntity;

/**
 * @ClassName MaterielSupplierService
 * @Description 供应商业务接口
 * @author linhuawei
 * @since 2022-03-30
 */
public interface MaterielSupplierService extends IService<MaterielSupplierEntity> {

    /**
     * @Title page
     * @Description 获取供应商分页列表
     * @param params 查询条件
     * @return 供应商分页列表
     */
    public IPage<MaterielSupplierListDto> page(Map<String, Object> params);

    /**
     * @Title list
     * @Description 获取供应商列表
     * @param params 查询条件
     * @return 供应商列表
     */
    public List<MaterielSupplierEntity> list(Map<String, Object> params);

    /**
     * @Title getByBaseCode
     * @Description 根据基地编号获取供应商列表
     * @param baseCode 基地编号
     * @return 供应商列表
     */
    public List<MaterielSupplierEntity> getByBaseCode(String baseCode);

    /**
     * @Title updateEnable
     * @Description 修改启用状态
     * @param id     供应商主键
     * @param enable 启用状态
     */
    public void updateEnable(String id, YesOrNo enable);

    /**
     * @Title export
     * @Description 供应商导出
     * @param params 查询条件
     */
    public void export(Map<String, Object> params, HttpServletResponse response);

    /**
     * @Title template
     * @Description 下载模板
     * @param response
     */
    public void template(HttpServletResponse response);

    /**
     * @Title importExcel
     * @Description 数据导入
     * @param baseCode 基地编码
     * @param file     导入文件
     * @return 导入结果
     */
    public List<MaterielSupplierImportDto> importExcel(String baseCode, MultipartFile file);

//    void getUrlInfo() throws IOException;
}
